package com.yuwen.yuwenRPC.loadbalancer;

/**
 * @ClassNameLoadBalancerFactory
 * @Description TODO
 * @Author钰玟
 * @Date2025/4/5 下午8:37
 * @Version 1.0
 **/

import com.yuwen.yuwenRPC.spi.SpiLoader;

/**
 * 负载均衡器工厂
 */
public class LoadBalancerFactory {

    static {
        SpiLoader.load(LoadBalancer.class);
    }


    /**
     * 默认的负载均衡器使用  轮询
     */
    private final LoadBalancer DEFAULT_LOAD_BALANCER = new RoundRobinLoadBalancer() ;

    /**
     *获取 对应键名的负载均衡器
     * @param key 键名
     * @return 负载均衡器
     */

    public static LoadBalancer getInstance(String key) {
        return SpiLoader.getInstance(LoadBalancer.class,key);
    }

}
